Multiuser detection method and device in DS-CDMA mode

ABSTRACT

Method of detecting a plurality of symbols (d k (i)) transmitted by or for a plurality K of users, each symbol belonging to a modulation constellation and being the subject of a spectral spreading by means of a spreading sequence, the said method comprising a filtering step ( 310   1   , . . . , 310   K ) adapted for supplying a complex vector (y(i), {tilde over (y)}(i)) characteristic of the said received signal, the said complex vector being decomposed into a first vector (y R (i), {tilde over (y)} R (i)) and a second vector (y l (i) y, {tilde over (y)} l (i)), at least the closest neighbours of the first and second vectors being sought ( 330, 331 ) within a lattice of points (Λ, Ω) generated by the said modulation constellations, the transmitted symbols being estimated from the components of the said closest neighbours.

[0001] The present invention concerns a multiuser detection method anddevice. More particularly, the present invention concerns a maximumlikelihood multiuser detection method and device for a DS-CDMA (DirectSequence Code Division Multiple Access) telecommunication system.

[0002] In a DS-CDMA mobile telecommunication system, the separation ofthe communications coming from or going to the different users isachieved by multiplying each complex symbol of a user by a spreadingsequence which is peculiar to him, also referred to for this reason asthe user signature. The spreading frequency (chip rate) being greaterthan the frequency of the symbols, the signal transmitted by each useris distributed (or spread) in the space of the frequencies. The ratiobetween the band occupied by the spread signal and the band occupied bythe information signal is referred to as the spreading factor. Onreception, the separation of a given user is obtained by means of afiltering adapted to the corresponding signature. When the transmissionchannel has a plurality of propagation paths, the output of the adaptedfiltering contains as many correlation peaks. Each path of the channelcan be modelled by a complex multiplicative coefficient and a delay. Thesignals being propagated along the different paths can be aligned andcombined by means of complex coefficients which are conjugates of thepath coefficients, thus effecting a filtering adapted to thetransmission channel. In order to simplify the terminology, the generalexpression “filtering adapted to the user k” will encompass both thefiltering operation adapted to the signature of the user k and thefiltering operation adapted to the transmission channel.

[0003] To combat the interference between signals destined for (thedownlink) or coming from (the uplink) the different users, multiuserdetection methods have been proposed, and notably iterative detectionmethods such as those known as PIC (Parallel Interference Cancellation)and SIC (Serial Interference Cancellation). They are based on theiteration of an interference elimination cycle including the estimationof the symbols transmitted, the evaluation of the interferences andtheir subtraction from the signals received. Although of highperformance, these methods are not optimal since they do not provide anestimation in the sense of the maximum likelihood of the symbolstransmitted by the different users.

[0004] A method of multiuser detection with maximum likelihood inspiredby the Viterbi algorithm was proposed by S. Verdu in an article entitled“Minimum probability of error for asynchronous Gaussian multiple accesschannels”, published in IEEE Transactions on Information Theory, pages85-96, January 1986, but its complexity is prohibitive since it variesexponentially with the number of users.

[0005] More recently a method of multiuser detection with maximumlikelihood using a representation by a lattice of points was proposed byL. Brunel et al., in an article entitled “Euclidian space latticedecoding for joint detection in CDMA system” published in Proceedings ofITW, page 129, June 1999. According to this method, a vectorcharacteristic of the received signal representing a statisticsufficient for the maximum likelihood detection of the symbolstransmitted by the different users is determined. It is shown undercertain conditions that the characteristic vector can be represented asthe point in a lattice disturbed by a noise. The detection then consistsof seeking the point in the lattice closest to the point correspondingto the vector received. However, the dimension of the lattice to be usedgenerally being 2.K or K where K is the number of users, the number ofpoints to be tested is still very high. To simplify detection, it hasbeen proposed to limit the search for the closest neighbour to thepoints in the lattice belonging to a sphere centred around the pointreceived. This simplified detection method, referred to as the “methodof detection by spheres”, will be disclosed below:

[0006] The context is a multiple access mobile telecommunication systemwith direct sequence spectrum spreading (DS-CDMA) comprising K userscommunicating synchronously with a base station.

[0007] Let d_(k)(i) be the complex symbol sent by the user k at instanti. This symbol belongs to the modulation constellation A_(k) used by theuser k, which will also be referred to as the alphabet of symbols of theuser k.

[0008] Each user k transmits a block of N symbols with an amplitude ofthe signal a_(k). The symbols are spread by a complex signatures_(k)t)=s_(k) ^(R)(t)+j.s_(k) ^(l)(t) with a duration equal to thesymbol period T:

s _(k)(t)=0 if t∉└0,T└

[0009] The K complex symbols d_(k)(i)=d_(k) ^(R)(i)+j.d_(k) ^(l)(i)transmitted at instant i are placed in a row vector of real values d₂(i)defined as:

d ₂(i)=(d ₁ ^(R)(i), . . . ,d _(K) ^(R)(i),d _(K) ^(R)(i), d _(K)^(l)(i))  (1)

[0010] Because of the synchronisation of the users, the correspondingmodulated signal can be written, as a function of the time t:$\begin{matrix}{S_{i} = {\sum\limits_{i = 0}^{N - 1}{\sum\limits_{k = 1}^{K}{a_{k}{d_{k}(i)}{s_{k}\left( {t - {i\quad T}} \right)}}}}} & (2)\end{matrix}$

[0011] It is assumed that the channel is an ideal channel with whiteadditive Gaussian noise. Let r_(l)=S_(t+η) _(t) be the signal receivedat time t and η_(t) a complex Gaussian noise of zero mean whosecomponents have a variance N₀.

[0012] Let the row vectors be y(i)=(y₁(i), . . . , y_(K)(i)) andy₂(i)=(y₁ ^(R)(i)y₁ ^(l)(i), . . . , y_(K) ^(R)(i), y_(k) ^(l)(i)) wherey_(k)(i)=y_(k) ^(R)(i)+j.y_(k) ^(l)(i) is the complex output at instanti of the filter adapted to the user k: $\begin{matrix}\begin{matrix}{{y_{k}(i)}\overset{\Delta}{=}\quad {\int\limits_{- \infty}^{+ \infty}{{{Sk}^{*}\left( {t - {i\quad T}} \right)}n{t}}}} \\{= \quad {{\sum\limits_{l = 1}^{K}{a_{l}{d_{l}(i)}{\int\limits_{0}^{T}{{S_{l}(t)}{{Sk}^{*}(t)}{t}}}}} + {n_{k}(i)}}} \\{= \quad {{\sum\limits_{l = 1}^{K}{a_{l}{d_{l}(i)}R_{lk}}} + {n_{k}(i)}}}\end{matrix} & (3)\end{matrix}$

[0013] with${{R_{lk}{\int\limits_{0}^{T}{{S_{l}(t)}{{Sk}^{*}(t)}{t}}}} = {R_{lk}^{R} + {{j \cdot R_{lk}^{I}}\quad {for}{\quad \quad}k}}},{l = 1},\ldots \quad,K$and${n_{k}(i)} = {\int\limits_{0}^{T}{{\eta_{i} \cdot {{Sk}^{*}\left( {t - {i \cdot T}} \right)}}{t}}}$

[0014] The autocorrelation matrix of the spreading sequences will bedenoted R(i).

[0015] If the complex elements of (3) are decomposed into their real andimaginary parts, there is obtained: $\begin{matrix}{\left\lbrack {{y_{k}^{R}(i)} + {j \cdot {y_{k}^{l}(i)}}} \right\rbrack = {{\sum\limits_{l = 1}^{K}{a_{l}\left\lbrack {{{b_{l}^{R}(i)}R_{lk}^{R}} - {{b_{l}^{I}(i)}R_{lk}^{I}}} \right\rbrack}} + {j \cdot {\sum\limits_{l = 1}^{K}{a_{l}\left\lbrack {{{b_{l}^{R}(i)}R_{lk}^{I}} + {{b_{l}^{I}(i)}R_{lk}^{R}}} \right\rbrack}}} + \left\lbrack {{n_{k}^{R}(i)} + {j \cdot {n_{k}^{I}(i)}}} \right\rbrack}} & (4)\end{matrix}$

[0016] Let.₂=Diag(a₁, a₁, . . . , a_(K), a_(K)) and R₂ be the matrix ofsize 2K×2K such that: $\begin{matrix}{R_{2} = \begin{bmatrix}R_{11}^{R} & R_{11}^{I} & \ldots & R_{1K}^{R} & R_{1K}^{I} \\{- R_{11}^{I}} & R_{11}^{R} & \ldots & {- R_{1K}^{I}} & R_{1K}^{R} \\\vdots & \vdots & \quad & \vdots & \vdots \\R_{K1}^{R} & R_{K1}^{I} & \ldots & R_{KK}^{R} & R_{KK}^{I} \\{- R_{K1}^{I}} & R_{K1}^{R} & \ldots & {- R_{KK}^{I}} & R_{KK}^{R}\end{bmatrix}} & (5)\end{matrix}$

[0017] Equation (4) can then be put in matrix form:

y ₂(i)=d ₂(i)M ₂ +n ₂(i)  (6)

[0018] where M₂ is a real matrix of size 2K×2K defined by M₂=A₂R₂ andwhere the noise vector n₂(i)=(n₁ ^(R)(i), n₁ ^(l)(i), . . . , n_(K)^(R)(i), n_(K) ^(l)(i)) has N₀R₂ as its covariance matrix.

[0019] It will be demonstrated below that y₂(i), as given by equation(6), can be represented as a point in a lattice Λ₂ of dimension 2.K,with a generator matrix M₂ corrupted by a noise n₂.

[0020] The term real lattice of points Λ of dimension κ will be used forany set of vectors of R. satisfying:

x=b ₁ v ₁ +b ₂ v ₂ + . . . +b.v. where b _(i) εZ, ∀i=1, . . . , κ

[0021] and where {v₁, v₂, . . . , vκ} is a base on R^(κ).

[0022] An example of a lattice of points of dimension 2 has been shownin FIG. 1.

[0023] The points in the lattice form an additive abelian sub-group ofR., and it is also the smallest sub-group of R^(κ) containing thevectors {v₁, v₂, . . . , v_(κ)} and a Z-modulus of R^(κ). These basevectors form the rows of the generator matrix G for the lattice. It istherefore possible to write

x=bG where b=(b ₁ , . . . b _(κ))εZ ^(κ).  (7)

[0024] The region delimited by the base vectors is referred to as thefundamental parallelotope and its volume, denoted vol(Λ) and det(Λ), isreferred to as the fundamental volume. This fundamental volume is noneother than the modulus of the vectorial product of the κ base vectorsand is therefore equal to |det(G)| where det designates the determinant.Though there are several possible choices for the generator matrix forthe same lattice, on the other hand there is only one value for thefundamental volume.

[0025] The Voronoi region V or Dirichlet cell of a point x belonging tothe lattice is all the points of R^(κ) closer to x than any other pointin the lattice. The volume of this region is equal to the fundamentalvolume.

[0026] The stacking radius ρ of the lattice is the radius of the largestsphere inscribed in the Voronoi region and the radius of coverage thatof the smallest sphere circumscribed in this same region. The stackingradius is therefore the radius of the spheres whose stacking constitutesthe lattice of points and the radius of coverage is that of the smallestspheres which, centred on the points in the lattice, make it possible tocover the entire space R^(κ). The density of the lattice is the ratiobetween the volume of the sphere of radius ρ and the fundamental volume.Finally, the coefficient of error (the kissing number) τ(Λ) of thelattice is the number of spheres tangent to one and the same sphere inthe stack or, in other words, the number of neighbours of a point in thelattice, situated at the minimum distance d_(Emin)=2ρ.

[0027] Consider once again equation (6). The complex numbers d_(k)^(R)(i)+j.d_(k) ^(l)(i) belong to a finite alphabet (or constellation) Aof cardinal: $\begin{matrix}{{{Card}(A)} = {\prod\limits_{K = T}^{K}{{Card}\left( A_{k} \right)}}} & (8)\end{matrix}$

[0028] Assume for example that the components d_(k) ^(R)(i) and d_(k)^(l)(i) are PAM modulation symbols of order M:

d _(k) ^(R)(i)ε{−M+1, −M+3, . . . , M−3, M−1}  (9)

[0029] and

d _(k) ^(l)(i)ε{−M+1, −M+3, . . . , M−3, M−1}  (10)

[0030] If the transformation is effected: $\begin{matrix}{{{d_{k}^{\prime \quad R}(i)} = {\frac{1}{2}\left( {{d_{k}^{R}(i)} + M - 1} \right)}}{and}{{d_{k}^{\prime \quad I}(i)} = {\frac{1}{2}\left( {{d_{k}^{I}(i)} + M - 1} \right)}}{{{or}\quad {again}\quad {{vectorially}:{d_{2}^{\prime}(i)}}} = {\frac{1}{2}\left( {{d_{2}(i)} + v_{M}} \right)}}} & (11)\end{matrix}$

[0031] where v_(M)=(M−1, M−1, . . . , M−1) the components d′_(k) ^(R)(i)and d′_(k) ^(l)(i) are elements of Z and consequently d′₂(i) is a vectorof Z^(2K).

[0032] In general terms, if there exists an affine transformationtransforming the components d_(k) ^(R)(i) and d_(k) ^(l)(i) intoelements of Z, the vector d′₂(i) can be represented by a vector ofZ^(2K).

[0033] In a similar manner, the corresponding transformation is effectedon y₂(i), that is to say: $\begin{matrix}{{y_{2}^{\prime}(i)} = {\frac{1}{2}\left( {{y_{2}(i)} + {v_{M}M_{2}}} \right)}} & (12)\end{matrix}$

[0034] By means of this transformation, which is assumed to be implicithereinafter, the vector d₂(i)M₂ then belongs to a lattice of points Λ₂of dimension 2.K as defined by equation (7) with G=M₂. The vector y₂(i)can then be considered to be a point in the lattice Λ₂ corrupted by anoise n₂(i).

[0035] If it is assumed that the components of the noise vector n₂(i)are centred independent random Gaussian variables, the problem ofdetection in the sense of the maximum likelihood of the symbolstransmitted by the different users amounts to a search for the point z₂in the lattice Λ₂ such that its distance to y₂(i) is at a minimum.

[0036] In reality, the components of the noise vector n₂(i) arecorrelated and the covariance matrix of n₂(i) is N₀R₂.

[0037] In order to boil down to the decorrelated case it is necessary,prior to the decoding, to effect an operation of whitening of the noise.

[0038] The matrix R being hermitian, the autocorrelation matrix R₂ issymmetrical defined positive and can therefore be the subject of aCholesky factorisation:

R ₂ =W ₂ W ₂ ^(T)  (13)

[0039] where W₂ is an inferior triangular matrix of size 2K×2K.

[0040] A whitened observation vector is defined:

{tilde over (y)} ₂(i)=y ₂(i)W ₂ ^(T) ⁻¹   (14)

[0041] and a new lattice of points Ω₂ consisting of vectors ofcomponents ({tilde over (x)}₁ ^(R)(i), {tilde over (x)}₁ ^(l)(i), . . .,{tilde over (x)}_(K) ^(R)(i), {tilde over (x)}_(K) ^(l)(i)) with {tildeover (x)}₂(i)=x₂(i)W₂ ^(T) ⁻¹ where x₂(i) is a vector of components (x₁^(R)(i), x₁ ^(l)(i), . . . , x_(K) ^(R)(i), x_(K) ^(l)(i)) belonging toΛ₂.

[0042] It can easily be shown that, after whitening, the covariancematrix of the filtered noise n₂(i W₂ ^(T) ⁻¹ is equal to N₀I_(2K) whereI_(2K) is the identity matrix of dimension 2K. The detection thereforecomprises a first step of whitening the observation vector followed by astep of seeking the closest neighbour within the lattice of points Ω₂.

[0043] In order to reduce the number of points to be tested, asillustrated in FIG. 1, it is possible to limit the search to a spherecentred around the point {tilde over (y)}₂. In practice, the choice ofthe radius of the sphere results from a compromise: it must not be toolarge in order not to lead to an excessively high number of points andsufficiently large to include at least the closest neighbour.

[0044]FIG. 2 depicts schematically a multiuser detection device using amethod of detection by spheres. The received signal n is filtered by abattery of filters adapted to each of the users, 210 ₁, . . . , 210_(K). The real and imaginary components of the observation vector y₂(i)output from the adapted filters are transmitted to a matrix calculationunit performing the spectral whitening operation according to equation(14). The real and imaginary components of the whitened vector {tildeover (y)}₂(i) are then transmitted to a unit for detection by spheresseeking the closest neighbour of the point received within the latticeΩ₂ of dimension 2.K. The coordinates of the closest neighbour directlygive the real and imaginary components of the estimated symbols{circumflex over (d)}_(k)(i) for the different users.

[0045] It can be shown that the method of detection by spheres asdisclosed above has a complexity in terms of O(K⁶) which may prove verydisadvantageous when the number of users is high.

[0046] The aim of the present invention is to propose, under certainconditions, a simplification of the method of detection by spheres.

[0047] For this purpose, the invention is defined by a method ofdetecting a plurality of symbols (d_(k)(i)) transmitted by or for aplurality K of users, each symbol belonging to a modulationconstellation and being the subject of a spectral spreading by aspreading sequence, the said method comprising a filtering step adaptedfor supplying a complex vector (y(i), {tilde over (y)}(i))characteristic of the said received signal₁, the said complex vectorbeing decomposed into a first vector (y^(R)(i), {tilde over (y)}^(R)(i))and a second vector (y^(l)(i), {tilde over (y)}^(l)(i)) and at least theclosest neighbours of the first and second vectors being sought within alattice of points (Λ, Ω) generated by the said modulationconstellations, the transmitted symbols being estimated from thecomponents of the said closest neighbours.

[0048] Advantageously, the spreading sequences (S_(k)(t)) consist ofreal multiples (S_(k) ⁰(t)) of the same complex coefficient (σ).

[0049] According to one embodiment of the invention, the search islimited to a first set of points in the lattice belonging to a firstpredetermined zone (Σ_(R)) around the first vector and a second set ofpoints in the lattice belonging to a second predetermined zone (Σ_(I))around the second vector.

[0050] Likewise the search can be limited to a first set of points inthe lattice belonging to a first predetermined zone (Σ_(R)) around theorigin and a second set of points in the lattice belonging to a secondpredetermined zone (Σ_(I)) around the origin.

[0051] The said first and second predetermined zones are for examplespheres.

[0052] Advantageously, the search for the closest neighbour of the firstvector is carried out on a plurality of components of the latter, thesearch being limited for each of the said components to an intervaldefined by a lower band and an upper band, the said bands being chosenso that the said interval does not comprise any points relating tosymbols which cannot belong to the modulation constellation.

[0053] Likewise the search for the closest neighbour of the secondvector can be carried out on a plurality of components of the latter,the search being limited for each of the said components to an intervaldefined by a lower bound and an upper bound, the said bounds beingchosen so that the said interval does not comprise any points relatingto symbols which cannot belong to the modulation constellation.

[0054] Prior to the search for the closest neighbour, the first vector(Y^(R)(i)) is advantageously subjected to a matrix processing aimed atsubstantially decorrelating the different noise components thereof.

[0055] Likewise, prior to the search for the closest neighbour, thesecond vector (y^(l)(i)) can be subjected to a matrix processing aimedat substantially decorrelating the different noise components thereof.

[0056] According to a variant embodiment of the invention, the saidsearch step is extended to a search for a first set of points which areclosest neighbours of the said first vector, referred to as firstneighbours, and to a second set of points which are closest neighboursof the said second vector, referred to as second neighbours, and thetransmitted symbols are estimated flexibly from the symbols generatingthe said first and second neighbours and distances separating the saidfirst neighbours of said first vector on the one hand and the saidsecond neighbours of the said second vector on the other hand.

[0057] According to a particular embodiment of the invention, there aredetermined, from the estimated symbols, the contributions of each userto the signals obtained by the adapted filtering step and, for a givenuser k, the contributions of the other users corresponding to thesymbols already estimated are eliminated at the output of the filteringstep. Alternatively, the contributions of each user to the signalreceived from the estimated symbols are determined and, for a given userk, the contributions of the other users corresponding to the symbolsalready estimated are eliminated at the input of the adapted filteringstage.

[0058] If the symbols of the said K users are transmitted synchronously,the said lattice of points will preferably be of dimension K

[0059] If the symbols of the said K users are transmitted asynchronouslyand propagate along a plurality of paths, the dimension of the latticewill preferably be equal to the number of symbols of the different userswhich may interfere and are not yet estimated.

[0060] The present invention is also defined by a device for detecting aplurality of symbols (d_(k)(i)) transmitted by or for a plurality K ofusers, each symbol belonging to a modulation constellation and being thesubject of a spectral spreading by means of a spreading sequence, thedevice comprising means for implementing the method disclosed above.

[0061] This device can in particular be used in a receiver in a DS-CDMAmobile telecommunications system.

[0062] The characteristics of the invention mentioned above, as well asothers, will emerge more clearly from a reading of the followingdescription given in relation to the accompanying figures, amongstwhich:

[0063]FIG. 1 depicts a lattice of points useful to the detection methodemployed in the receiver illustrated in FIG. 2;

[0064]FIG. 2 depicts schematically the structure of a multiuser DS-CDMAreceiver using a method of detection by spheres;

[0065]FIG. 3 depicts schematically the structure of a multiuserdetection device according to a first embodiment of the invention;

[0066]FIG. 4 depicts schematically the structure of a multiuserdetection device according to a second embodiment of the invention.

[0067] The idea at the basis of the invention is to reduce the dimensionof the lattice of points using spreading sequences of a particular typefor the different users.

[0068] Consider once again a DS-CDMA telecommunication system with Ksynchronous users. If spreading sequences s_(k)(t) with real values arechosen, the imaginary terms of the matrix R₂ and consequently of thematrix M₂(i) are zero. Consequently, the system can be modelled by alattice of real points Λ of dimension K and generator matrix M(i):

y ^(R)(i)=d ^(R)(i)M(i)+n ^(R)(i)  (15)

y ^(l)(i)=d ^(l)(i)M(i)+n ^(l)(i)  (16)

[0069] where

[0070] y^(R)(i), d^(R)(i), n^(R)(i) (or respectively y^(l)(i), d^(l)(i),n^(l)(i)) are the vectors consisting of the real parts (or respectivelyof the imaginary parts) of the components of y(i), d(i), n(i);

[0071] M(i)=AR(i) where R(i) is the matrix consisting of thecoefficients$R_{l\quad k} = {\int\limits_{0}^{T}{{s_{l}(t)}{s_{k}(t)}{t}}}$

[0072]  and A is the vector of the amplitudes of the K users.

[0073] The observation vectors y^(R)(i) and y^(l)(i) belong to R^(K).After any transformation according to an equation of the same type as(12), the vectors y^(R)(i) and y^(l)(i) can be considered to be pointsin a lattice Λ of generator matrix M(i) corrupted by noise.

[0074] It can easily be shown that the noise vectors n^(R)(i) andn^(l)(i) both have the covariance matrix N₀.R(i). R being a symmetricalmatrix defined positive, it can be factorised according to a Choleskydecomposition: R=WW^(T) where W is an inferior triangular real matrix ofsize K×K. In order to decorrelate the noise components, the realobservation vectors y^(R)(i) and y^(l)(i) are first of all subjected toa whitening operation:

{tilde over (y)} ^(R)(i)=y ^(R)(i)W ^(T) ⁻¹   (17)

{tilde over (y)} ^(l)(i)=y ^(l)(i)W ^(T) ⁻¹   (18)

[0075] Secondly, the closest neighbours of the vectors {tilde over(y)}^(R)(i) and {tilde over (y)}^(l)(i) belonging to the lattice ofpoints Ω consisting of the vectors {tilde over (x)}(i)×x(i)W^(T) ⁻¹where x(i) belongs to Λ, are sought. It can easily be shown that, afterwhitening, the covariance matrices of the filtered noises n^(R)(i)W^(T)⁻¹ and n^(l)(i)W^(T) ⁻¹ are both equal to N₀I_(K) where I_(K) is theidentity matrix of dimension K.

[0076] It can therefore be seen that using real signatures leads to asearch for two closer neighbours in the same lattice of dimension Kwhilst in the general case, which is complex, the decoding requires asearch in a lattice of dimension 2K. In fact it can easily be shown thatthe above result extends to any set of signatures carried by the samecomplex number, that is to say such that: s_(k)(t) = σ ⋅ s_(k)⁰(t)

[0077] where σ is a complex number and s_(k)⁰(t)

[0078] is real. This will of course in particular be the case if all thesignatures are imaginary.

[0079] Since the search for the closest neighbour for the vector {tildeover (y)}^(l)(i) takes place according to the same principle as for{tilde over (y)}^(R)(i), only the first will be disclosed. This searchconsists of determining the point x minimising the metric:$\begin{matrix}{{m\left( {{\overset{\sim}{y}}^{R}/x} \right)} = {{\sum\limits_{i = 1}^{K}{{{\overset{\sim}{y}}_{1}^{R} - x_{i}}}^{2}} = {{{\overset{\sim}{y}}^{R} - x}}^{2}}} & (19)\end{matrix}$

[0080] where {tilde over (y)}^(R)=x+n^(R) and x=(x₁, . . , x_(κ)) is apoint belonging to the lattice Ω.

[0081] Alternatively, it will be noted that the vector y^(R)(i) does notneed to be whitened if a metric is used based on the covariance matrix:

m(y ^(R) /x)=(y ^(R) −x)R ⁻¹(y ^(R) −x)^(T)  (20)

[0082] Hereinafter, for reasons of simplification, the observationvector, whitened ({tilde over (y)}^(R)(i)) or not (y^(R)(i)), will betermed z and the metric acting in equation (19) or (20) will be termed∥.∥.

[0083] The points in the lattice Ω consist of the vectors x such thatx=bG where G is the generator matrix for the lattice and b=(b₁, . . . ,b_(κ)), the components b₁ belong to the ring of integers Z.

[0084] The detector advantageously restricts its metric calculation tothe points which are situated within a zone of the constellationsituated around the received point, preferably within a sphere of givenradius {square root}{square root over (C)} centred on the received pointz. Only the points in the lattice situated at a quadratic distance lessthan C from the received point are therefore considered for theminimisation of the metric.

[0085] In practice, the decoder effects the following minimisation:$\begin{matrix}{{\min\limits_{x \in \Omega}\left. ||{z - x} \right.||} = {\min\limits_{w \in {z - \Omega}}\left. ||w \right.||}} & (21)\end{matrix}$

[0086] To do this, the decoder seeks the smallest vector w in thetranslated set z−. The vectors z and w can be expressed as:

z=.G with .=(ρ₁, . . . , ρ_(κ))

w=.G with .=(ξ₁, . . . , ξ_(κ)(22)

[0087] It is important to note that ρ and ξ are real vectors. As w=z−x,where x belongs to the lattice Ω, this gives the equationξ_(i)=ρ_(i)−b_(i) for i=1, . . . , κ with$w = {\sum\limits_{i = 1}^{\kappa}{\xi_{i}{v_{i}.}}}$

[0088] The vector w is a point in the lattice whose coordinates ξ_(i)are expressed in the translated reference frame centred on the receivedpoint. The vector w belongs to a sphere of quadratic radius C centred at0 if:

∥w∥ ² =Q(ξ)=ξGG ^(T)ξ^(T) ≦C  (23)

[0089] In the new system of coordinates defined by ξ, the sphere ofquadratic radius C centred at y is therefore transformed into anellipsoid centred on the origin. The Cholesky factorisation of the Grammatrix Γ=GG^(T) gives Γ=..^(T), where Δ is an inferior triangular matrixof elements δ_(ij).

[0090] It should be noted that, if the vector y has been whitened, it isnot necessary to effect this factorisation since the generator matrix ofΩ is equal to AW and is therefore already triangular and inferior.However, where prior whitening has not been carried out, Choleskydecomposition is necessary. In all cases, it is possible to write:$\begin{matrix}{{Q(\xi)} = {{{\xi\ldots}{{}_{}^{}{}_{}^{}}} = {\left. ||{\bullet {{}_{}^{}{}_{}^{}}} \right.||^{2} = {{\sum\limits_{i = 1}^{\kappa}\left( {{\delta_{ii}\xi_{i}} + {\sum\limits_{j = {i + 1}}^{\kappa}{\delta_{ji}\xi_{j}}}} \right)^{2}} \leq C}}}} & (24)\end{matrix}$

[0091] By putting

q_(ii)=._(ij) ² for i=1, . . . ,.${q_{ij} = {{\frac{\bullet_{ij}}{\bullet_{jj}}\quad {for}\quad j} = 1}},\ldots \quad,{.\quad {;\quad {i = {j + 1}}}},\ldots \quad,.$

[0092] there is obtained $\begin{matrix}{{Q(\xi)} = {\sum\limits_{i = 1}^{\kappa}{q_{ii}\left( {\xi_{i} + {\sum\limits_{j = {i + 1}}^{\kappa}{q_{ji}\xi_{j}}}} \right)}^{2}}} & (25)\end{matrix}$

[0093] By taking first of all the range of possible variations of ξ_(κ),and then adding the components one by one, the following K inequalitiesare obtained, which define all the points within the ellipse:

q _(κκ)ξ_(κ) ² ≦C

q _(κ−1,κ−1)(ξ_(κ−1) +q _(κ,κ−1)ξ_(κ))² +q _(κκ)ξ_(κ) ² ≦C  (26)

[0094] $\begin{matrix}{{{q_{\kappa\kappa}\xi_{\kappa}^{2}} \leq C}{{{q_{{\kappa - 1},{\kappa - 1}}\left( {\xi_{\kappa - 1} + {q_{{\kappa\kappa} - 1}\xi_{\kappa}}} \right)}^{2} + {q_{\kappa\kappa}\xi_{\kappa}^{2}}} \leq C}{{\forall{l \in \left\{ {1;\kappa} \right\}}},{{\sum\limits_{i = l}^{\kappa}{q_{ii}\left( {\xi_{i} + {\sum\limits_{j = {i + 1}}^{\kappa}{q_{ji}\xi_{j}}}} \right)}^{2}} \leq C}}} & (26)\end{matrix}$

[0095] It can be shown that the inequalities (26) make it necessary forthe integer components of b to satisfy: $\begin{matrix}{{\left\lceil {{- \sqrt{\frac{C}{q_{KK}}}} + \rho_{K}} \right\rceil \leq b_{K} \leq \left\lfloor {\sqrt{\frac{C}{q_{KK}}} + \rho_{K}} \right\rfloor}{\left\lceil {{- \sqrt{\frac{C - {q_{KK}\xi_{K}^{2}}}{q_{{K - 1},{K - 1}}}}} + \rho_{K - 1} + {q_{K,{K - 1}}\xi_{K}}} \right\rceil \leq b_{K - 1} \leq \left\lfloor {{- \sqrt{\frac{C - {q_{KK}\xi_{K}^{2}}}{q_{{K - 1},{K - 1}}}}} + \rho_{K - 1} + {q_{K,{K - 1}}\xi_{K}}} \right\rfloor}{\left\lceil {{- \sqrt{\frac{1}{q_{ii}}\left( {C - {\sum\limits_{l = {i + 1}}^{K}{q_{ll}\left( {\xi_{l} + {\sum\limits_{j = {l + 1}}^{K}{q_{jl}\xi_{j}}}} \right)}^{2}}} \right)}} + \rho_{i} + {\sum\limits_{j = {i + 1}}^{K}{q_{ji}\xi_{j}}}} \right\rceil \leq b_{i}}{b_{i} \leq \left\lfloor {\sqrt{\frac{1}{q_{ii}}\left( {C - {\sum\limits_{l = {i + 1}}^{K}{q_{ll}\left( {\xi_{l} + {\sum\limits_{j = {l + 1}}^{K}{q_{jl}\xi_{j}}}} \right)}^{2}}} \right)} + \rho_{i} + {\sum\limits_{j = {i + 1}}^{K}{q_{ji}\xi_{j}}}} \right\rfloor}} & (27)\end{matrix}$

[0096] where ┌x┐ is the smallest integer greater than the real number xand └x┘ is the largest integer smaller than the real number x.

[0097] The decoder has K internal counters, namely one counter perdimension, each counter counting between a lower and upper bound asindicated in (27), given that each counter is associated with aparticular pair of bounds. In practice these bounds can be updatedrecursively.

[0098] Advantageously, all the values of the vector b are listed forwhich the corresponding point in the lattice x=bG is situated within thequadratic distance C from the received point. The points in the latticesituated outside the sphere in question are not tested. Advantageously,for each component 1, . . . , K the upper and lower bounds of the searchwill be adjusted so as not to contain points which are certainly outsidethe constellation. Thus the counters do not waste any time in runningover points which, in any event, are not solutions. For example, if allthe users employ the same PAM modulation constellation of size M, thesearch bounds cannot leave the interval [0, M−1].

[0099] In addition, the search within the sphere can be considerablyaccelerated by updating the radius {square root}{square root over (C)}with the last Euclidian norm calculated ∥w∥. Finally, there is selected,as the best point x, the one associated with the smallest norm ∥w∥.

[0100] So as to be sure that the decoder finds at least one point in thelattice, a search radius is advantageously chosen so as to be greaterthan the radius of coverage of the lattice. It can for example be takenso as to be equal to the upper Rogers bound: $\begin{matrix}{{\sqrt{C}}^{K} = {\left( {{K\quad \log \quad K} + {K\quad \log \quad \log \quad K} + {5K}} \right) \times \frac{\left| {\det (G)} \right|}{V_{K}}}} & (28)\end{matrix}$

[0101] where V_(K) is the volume of a sphere of unity radius in the realspace.

[0102]FIG. 3 illustrates schematically a multiuser detection deviceaccording to a first embodiment of the invention. The received signal isfirst of all filtered by a battery of filters adapted to the differentusers, 310 ₁, . . . , 310 _(K). The observation vector output from theadapted filters is decomposed into a real observation vectory^(R)(i)=(y₁ ^(R)(i), . . . , y_(K) ^(R)(i)) and an imaginaryobservation vector y^(l)(i)=(y₁ ^(l)(i), . . . , y_(K) ^(l)(i)). Afterany transformation of the type at (12) (not shown), the vectors y^(R)(i)and y^(l)(i) undergo a spectral whitening at 320 and 321 in order todecorrelate the noise samples. The whitened vectors {tilde over(y)}^(R)(i) and {tilde over (y)}^(l)(i) are then the subject of a searchfor the closest neighbour as described above in the detectors by spheres330 and 331. The point found by the detector 330 gives (by means ifnecessary of a transformation which is the reverse of that of (12)) thereal components of the symbols estimated for the K users. Likewise, thedetector 331 gives the imaginary components of these estimated symbols.

[0103] Instead of directly supplying symbols of the constellation, thereceiver can be adapted to supply symbols in the form of flexibledecisions. In this case, the search within the detection sphere is nolonger limited to the closest neighbour but is extended to a pluralityof the closest neighbours of the point relating to the received signal.

[0104] More precisely, let ξ_(R) and ξ₁ be the spheres centredrespectively around {tilde over (y)}^(R)(i) and {tilde over (y)}^(l)(i).There is associated, with any pair d^(m,m′)(i)=(v_(m) , v_(m′)) ofneighbouring points belonging to (ξ_(R), ξ₁) such that the K componentsd_(k) ^(m,m′)(i) belong to the modulation constellations of the users,an a posteriori probability p^(m,m′), a probability that the vectord_(k) ^(m,m′)(i) defined by this point has been sent, given theobservation {tilde over (y)}(i). Let Θ be the set of these pairs. Aflexible symbol of a user k is defined as the M_(k)-tuplet (π₁, . . . ,π_(Mk)) where M_(k) is the cardinal of the modulation constellation ofthe user k and where π_(j) is the probability that the symbol s_(j) hasbeen sent. This gives: $\begin{matrix}{\pi_{j} = {{p\left( {s_{j}/\overset{\sim}{y}} \right)} = {\sum\limits_{{({v_{m},v_{m^{\prime}}})} \in \quad \Theta}{{p\left( {s_{j}/d_{k}^{m,m^{\prime}}} \right)} \cdot p^{m,m^{\prime}}}}}} & (29)\end{matrix}$

[0105] The a posteriori probabilities p^(m,m′)can for example beexpressed as a function of the distances λ_(m) and λ_(m), separating thevectors {tilde over (y)}^(R)(i) and {tilde over (y)}^(l)(i) from v_(m)and v_(m′).

[0106] Equation (2) presupposed that the signals of the different userswere synchronous. When this assumption is not valid, the spread symbolof a user k at a given instant may interfere with two successive spreadsymbols of another user k′. If it is assumed that the scattering of thetransmission delays τ_(k) of the different users is less than a symbolperiod T, the symbol of a user k sent at an instant i, d_(k)(i), mayinterfere with the symbols d_(k′)(i−1) and d_(k′)(i+1) of a user k′. Itcan be assumed without loss of generality that 0≦τ₁≦ . . . ≦τ_(k)≦ . . .. ≦τ_(K)≦T. After the symbols d_(k)( i−1) for all the users k=1 . . . Kare detected, the detection is commenced of the symbols relating to theinstant i commencing with the earliest user (here the user 1) andfinishing with the latest user (here the user K). The detection ofd_(k)(i) depends on three vectors: the vector d_(P)=(d₁(i), . . . ,d_(k−1)(i), d_(k)(i−1), d_(k+1)(i−1), . . . , d_(K)(i−1)) relating tothe symbols already detected, the vector d_(F)=(d₁(i+1), . . . ,d_(k−1)(i+1), d_(k)(i), d_(k+1)(i), . . . , d_(K)(i)) relating to futuresymbols and the observation vector y(i). It can be shown that thecomplex observation vector can be written in the form of a pastcontribution and a future contribution:

y=d _(P) AR _(P) +d _(F) AR _(F+n)  (30)

[0107] where n is a noise vector of covariance matrix N₀R_(F), and R_(P)and R_(F) are respectively the matrix of correlation of the signatureswith the passed signatures and the matrix of correlation of thesignatures with the future signatures.

[0108] When the signatures are of the real value type (or more generallyare real multiples of the same complex number) equation (30) can bedecomposed in the form of two equations involving only real vectors, ina similar manner to equations (15) and (16):

y ^(R) =d _(P) ^(R) AR _(P) +d _(P) ^(R) AR _(F+n) ^(R)  (31)

y ^(l) =d _(P) ^(l) AR _(P) +d _(P) ^(l) AR _(F+n) ^(l)  (32)

[0109] Instead of effecting the detection by spheres on the observationvectors y^(R) and y^(l), this will operate on the vectors freed of anyinterference due to the passed symbols already estimated, namely:y^(R)−{circumflex over (d)}_(P) ^(R)AR_(P) and y^(l)−{circumflex over(d)}_(P) ^(l)AR_(P).

[0110] Alternatively, instead of carrying out the subtractiveelimination of the interference at the level of the observation vector,this elimination can be envisaged in an equivalent manner, upstream, onthe spread of signals. The estimated symbols are respread spectrally andthe contributions of the different users to the received signal aresubtracted one by one, on the fly (as they are respread), at the inputof the adapted filters. The inputs of the adapted filters will thereforereceive the signals cleaned of the passed contributions, namelyn−I_(k)(t) where: $\begin{matrix}{{I_{k}(t)} = {{\sum\limits_{k^{\prime} < k}{a_{k^{\prime}}{{\hat{d}}_{k^{\prime}}(i)}{s_{k^{\prime}}\left( {t - {iT} - \tau_{k^{\prime}}} \right)}}} + {\sum\limits_{k^{\prime} > k}{a_{k^{\prime}}{{\hat{d}}_{k^{\prime}}\left( {i - 1} \right)}{s_{k^{\prime}}\left( {t - {\left( {i - 1} \right)T} - \tau_{k^{\prime}}} \right)}}}}} & (33)\end{matrix}$

[0111] The first right-hand term in equation (33) represents thecontribution of the users which are in advance on the user k and forwhich consequently an estimation of the symbols {circumflex over(d)}_(k′)(i) is already available. The second term represents thecontributions of the users which are behind with respect to the user k:the contribution due to the symbols {circumflex over (d)}_(k′)(i) can ofcourse not be evaluated at the time when the symbol d_(k)(i) isdespread. On the other hand, the contribution due to the previoussymbols d_(k′)(i−1) can be evaluated since an estimation of the symbols{circumflex over (d)}_(k′)(i−1) is already available.

[0112] It is important to note that, unlike the synchronous case wherethe step of detection by spheres estimated only all the symbols{circumflex over (d)}_(k)(i), in the asynchronous case the symbols ofthe different users are estimated one after the other in their order ofarrival.

[0113]FIG. 4 illustrates a second embodiment of the inventionimplementing a subtractive elimination of the interference forasynchronous users. To simplify the representation, only the detectionbranch concerning a user k has been illustrated. The sum I_(k)(t)symbolises the sum of the contributions of the other users and issubtracted at 405 _(k) from the signal r_(t) input from the adaptedfilter 410 _(k). The detection by spheres for the user k starts at theinstant when the symbol d_(k)(i) is despread. It should be noted that,at this instant, the interfering symbols not yet estimated of the otherusers will have been subject only to a partial despreading (except ofcourse if the interfering symbols are synchronous. The module 430 _(k)(or respectively 431 _(k)) operates on the components output from 420_(k) (or respectively 421 _(k)). Alternatively the outputs of all themodules 430 _(k) (or respectively 431 _(k)) can be demultiplexed inorder to be processed by a common module 440 working K times morerapidly. Unlike FIG. 3, here only the k^(th) output of the modules 430_(k) and 431 _(k) is used for supplying the estimated symbol {circumflexover (d)}_(k)(i). The symbol {circumflex over (d)}_(k)(i) is thenrespread and the contribution a_(k){circumflex over (d)}_(k)(i)_(S)_(k)(t−iT−τ_(k))) of the user k is evaluated and then subtracted at theinput of the adapted filters 410 _(k′)via I_(k′)(t).

[0114] If the transmission channels of the different users are of themultipath type, the problem of the elimination of interference is morecomplex since it is necessary to consider the interference between allthe paths of all the users. The received signal can be written:$\begin{matrix}{n = {{\sum\limits_{i = 0}^{N - 1}{\sum\limits_{k = 1}^{K}{\sum\limits_{p = 1}^{P_{k}}{a_{k}c_{p\quad k}{d_{k}(i)}{s_{k}\left( {t - {iT} - \tau_{p\quad k}} \right)}}}}} + {\eta_{p\quad k}(t)}}} & (34)\end{matrix}$

[0115] where P_(k) is the number of parts of the transmission channel ofthe user k, τ_(pk)=τ_(k)+θ_(pk) is the total delay of the delay (τ_(k))on transmission of the user k and the delay (θ_(pk)) of propagationalong the path p of the channel k and c_(pk) is the complexmultiplicative factor associated with this path. It will be assumed onceagain that 0≦τ₁≦ . . . ≦τ_(k)≦ . . . ≦ξ_(K)<T and that in addition thescattering of the paths is less than the symbol period: 0≦θ_(pk)<T . Asa result 0≦_(τk)<2T.

[0116] The adapted filters 410 _(k) then effect a filtering adapted tothe signature of the user k and to the transmission channel k by MRC(Maximum Ratio Combining) of the signals of the different paths. Moreprecisely, the filter 310 _(k) performs the following operation:

[0117] $\begin{matrix}{{y_{k}(i)}\overset{\bigtriangleup}{=}{\sum\limits_{p = 1}^{P_{\lambda}}{\overset{*}{C_{pk}}{\int_{- \infty}^{+ \infty}{{{s_{k}}^{*}\left( {t - {iT} - \tau_{pk}} \right)}n{t}}}}}} & (35)\end{matrix}$

[0118] Because of the scattering of the delays, the duration to be takeninto account for the interference between users is 2T and the symbol ofa user can interfere with two consecutive symbols, not yet estimated, ofanother user. The conjoint detection then relates to all the interferingsymbols which have not yet been estimated, the estimated interferingsymbols for their part being used for the subtractive elimination. Thecomplexity of the detector by spheres is higher than in the single-pathasynchronous case since the dimension of the lattice to be taken intoaccount is 2K-1 instead of K.

[0119] Finally, it should also be noted that the estimation of theinterfering contributions in the single-path or multi-path asynchronouscase may be effected either from constellation symbols (hard decisions)or from the flexible symbols of the different users.

[0120] Although certain embodiments of the invention have been depictedin the form of functional modules, it is clear that the device accordingto the invention can be produced in the form of a processor programmedfor executing the different functions depicted or in the form of aplurality of dedicated processors able to implement one or more of thesefunctions.

1. Method of detecting a plurality of symbols (d_(k)(i)) transmitted byor for a plurality K of users, each symbol belonging to a modulationconstellation and being the subject of a spectral spreading by means ofa spreading sequence, the said method comprising a filtering step (310₁, . . . , 310 _(K)) adapted for supplying a complex vector (y(i),{tilde over (y)}(i)) characteristic of the said received signal,characterised in that the said complex vector is decomposed into a firstvector (y^(R)(i), {tilde over (y)}^(R)(i)) and a second vector(y^(l)(i), {tilde over (y)}^(l)(i)) and in that at least the closestneighbours of the first and second vectors are sought (330, 331) withina lattice of points (Λ, Ω) generated by the said modulationconstellations, the transmitted symbols being estimated from thecomponents of the said closest neighbours.
 2. Detection method accordingto claim 1, characterised in that the spreading sequences (s_(k)(t))consist of real multiples (S_(k) ⁰(t)) of the same complex coefficient(σ).
 3. Detection method according to claim 1 or 2, characterised inthat the search is limited to a first set of points in the latticebelonging to a first predetermined zone (Σ_(R)) around the first vectorand a second set of points in the lattice belonging to a secondpredetermined zone (Σ_(I)) around the second vector.
 4. Detection methodaccording to claim 1 or 2, characterised in that the search is limitedto a first set of points in the lattice belonging to a firstpredetermined zone (Σ_(R)) around the origin and a second set of pointsin the lattice belonging to a second predetermined zone (Σ_(I)) aroundthe origin.
 5. Detection method according to claim 3 or 4, characterisedin that the said first and second predetermined zones are spheres. 6.Detection method according to one of the preceding claims, characterisedin that the search for the closest neighbour of the first vector iseffected on a plurality of components thereof, the search being limitedfor each of the said components to an interval defined for a lower boundand an upper bound, the said bounds being chosen so that the saidinterval does not comprise points relating to symbols which cannotbelong to the modulation constellation.
 7. Detection method according toone of the preceding claims, characterised in that the search for theclosest neighbour of the second vector is effected on a plurality ofcomponents thereof, the search being limited for each of the saidcomponents to an interval defined for a lower bound and an upper bound,the said bounds being chosen so that the said interval does not comprisepoints relating to symbols which cannot belong to the modulationconstellation.
 8. Detection method according to one of the precedingclaims, characterised in that, prior to the search for the closestneighbour, the first vector (y^(R)(i)) is subjected to a matrixprocessing (320) aimed at substantially decorrelating the differentnoise components thereof.
 9. Detection method according to one of thepreceding claims, characterised in that, prior to the search for theclosest neighbour, the second vector (y^(l)(i)) is subjected to a matrixprocessing (321) aimed at substantially decorrelating the differentnoise components thereof.
 10. Detection method according to one of thepreceding claims, characterised in that the said search step is extendedto the search for a first set of points which are the closest neighboursof the said first vector, referred to as first neighbours, and a secondset of points which are closest to the said second vector, referred toas second neighbours, and in that the transmitted symbols are estimatedflexibly from symbols generating the said first and second neighboursand distances separating the said first neighbours from the first vectoron the one hand and the said second neighbours from the said secondvector on the other hand.
 11. Detection method according to one of thepreceding claims, characterised in that the contributions of each userto the signals obtained by the adapted filtering step are determinedfrom the estimated symbols and in that, for a given user k, thecontributions of the other users corresponding to the symbols alreadyestimated are eliminated at the output of the filtering step. 12.Detection method according to one of claims 1 to 10, characterised inthat the contributions of each user to the received signal aredetermined (340) from the estimated symbols and in that, for a givenuser k, the contributions of the other users corresponding to thesymbols already estimated are eliminated at the input of the filteringstep.
 13. Detection method according to one of claims 1 to 10,characterised in that, the symbols of the said K users being transmittedsynchronously, the said lattice of points is of dimension K. 14.Detection method according to claim 11 or 12, characterised in that, thesymbols of the said K users being transmitted asynchronously andpropagating along a plurality of paths, the dimension of the lattice isequal to the number of symbols of the different users which mayinterfere and are not yet estimated.
 15. Device for detecting aplurality of symbols (d_(k)(i)) transmitted by or for a plurality K ofusers, each symbol belonging to a modulation constellation and being thesubject of a spectral spreading by a spreading sequence, the devicecomprising means for implementing the method claimed according to one ofthe preceding claims.
 16. Receiver for a DS-CDMA mobiletelecommunication system comprising a detection device according toclaim 15.